Load packages used to generate figures on this page:
# General data wrangling
library(tidyverse)
library(knitr)
library(kableExtra)
library(DT)
library(lubridate)
library(readxl)
library(fakeR)
# Visualization
library(plotly)
library(forcats)
library(ggsignif)
# ggseg is used to visualize the brain
# remotes::install_github("LCBC-UiO/ggseg")
# If that doesn't work:
# download.file("https://github.com/LCBC-UiO/ggseg/archive/master.zip", "ggseg.zip")
# unzip("ggseg.zip")
# devtools::install_local("ggseg-master")
library(ggseg)
# remotes::install_github("LCBC-UiO/ggseg3d")
library(ggseg3d)
# remotes::install_github("LCBC-UiO/ggsegExtra")
library(ggsegExtra)
The longitudinal tau-PET dataset was downloaded as a CSV from the Alzheimer’s Disease Neuroimaging Initiative (ADNI) Study Data repository located at Study Data/Imaging/PET Image Analysis/UC Berkeley - AV1451 Analysis [ADNI2,3] (version: 5/12/2020). This CSV file contains 1,121 rows and 241 columns. Note:ADNI data is freely accessible to all registered users. Please see my Acknowledgments page for more information about ADNI and its contributors.
Load partial volume corrected regional tau-PET data, as downloaded from ADNI:
tau.df <- read.csv("../../ADNI_Data/Raw_Data/UCBERKELEYAV1451_PVC_05_12_20.csv")
tau.df$EXAMDATE = as.Date(tau.df$EXAMDATE, format="%m/%d/%Y")
# update stamp is irrelevant, drop it
tau.df <- select(tau.df, -update_stamp)
Note: for those who wish to replicate this analysis but do not have access to ADNI data, this code will create the “Simulated_ADNI_TauPET.csv” file in the GitHub repo main directory:
set.seed(127)
# use simulate_dataset from fakeR
# stealth.level=2 means each column is simulated independently
tau.sim <- simulate_dataset(tau.df, digits=6, stealth.level=2, ignore=c("RID", "VISCODE", "VISCODE2", "EXAMDATE"))
write.csv(tau.sim, "../Simulated_ADNI_TauPET.csv", row.names = F)
The simulated tau-PET dataset can be loaded as follows:
tau.df <- read.csv("../Simulated_ADNI_TauPET.csv")
Each row in the CSV represents one tau-PET scan (see str call below). Some subjects had repeated scans separated by approximately one year, while other subjects had only one scan. Columns include subject information including anonymized subject ID, visit code, and PET exam date. The other columns encode regional volume and tau-PET uptake. Specifically, there are 123 distinct cortical and subcortical regions of interest (ROIs), each of which has a volume field (in mm^3) and a tau-PET uptake field, called the Standardized Uptake Value Ratio (SUVR).
str(tau.df)
## 'data.frame': 1120 obs. of 164 variables:
## $ RID : int 21 31 31 56 56 56 59 69 69 69 ...
## $ VISCODE : chr "init" "init" "y1" "init" ...
## $ VISCODE2 : chr "m144" "m144" "m156" "m144" ...
## $ EXAMDATE : Date, format: "2018-02-02" "2018-04-24" "2019-04-23" "2018-02-20" ...
## $ INFERIOR_CEREBGM_SUVR : num 1 1 1 1 2 2 2 1 2 1 ...
## $ INFERIOR_CEREBGM_VOLUME : num 59419 61509 62175 71314 65004 ...
## $ HEMIWM_SUVR : num 1 1 1 1 1 1 1 1 1 1 ...
## $ HEMIWM_VOLUME : num 349579 457144 320848 437909 417507 ...
## $ BRAAK12_SUVR : num 2 2 1 1 2 2 2 2 2 2 ...
## $ BRAAK12_VOLUME : num 11818 11919 10717 10675 11082 ...
## $ BRAAK34_SUVR : num 2 2 2 2 2 2 2 2 1 2 ...
## $ BRAAK34_VOLUME : num 111540 132325 116813 106945 123959 ...
## $ BRAAK56_SUVR : num 1 2 2 2 2 1 2 1 1 2 ...
## $ BRAAK56_VOLUME : num 372503 256383 276486 315106 267700 ...
## $ BRAIN_STEM_SUVR : num 1 1 1 1 1 1 1 1 1 1 ...
## $ BRAIN_STEM_VOLUME : num 21606 22221 18379 20161 18646 ...
## $ LEFT_MIDDLEFR_SUVR : num 2 2 2 4 2 2 2 2 1 1 ...
## $ LEFT_MIDDLEFR_VOLUME : num 16386 23981 16270 19763 19691 ...
## $ LEFT_ORBITOFR_SUVR : num 2 2 2 2 2 1 2 2 2 2 ...
## $ LEFT_ORBITOFR_VOLUME : num 11926 11894 12090 10949 10433 ...
## $ LEFT_PARSFR_SUVR : num 2 2 1 1 2 2 2 2 2 2 ...
## $ LEFT_PARSFR_VOLUME : num 10766 9358 9674 8846 12440 ...
## $ LEFT_ACCUMBENS_AREA_SUVR : num 1 2 3 2 2 2 1 3 1 1 ...
## $ LEFT_ACCUMBENS_AREA_VOLUME : num 495 419 302 485 547 393 362 314 437 766 ...
## $ LEFT_AMYGDALA_SUVR : num 2 2 1 1 1 2 2 2 2 2 ...
## $ LEFT_AMYGDALA_VOLUME : num 964 884 992 1436 2000 ...
## $ LEFT_CAUDATE_SUVR : num 2 2 2 1 2 2 2 2 1 1 ...
## $ LEFT_CAUDATE_VOLUME : num 2695 4033 3606 3118 4572 ...
## $ LEFT_HIPPOCAMPUS_SUVR : num 2 2 2 2 2 2 2 2 2 1 ...
## $ LEFT_HIPPOCAMPUS_VOLUME : num 4165 5164 5350 3687 3876 ...
## $ LEFT_PALLIDUM_SUVR : num 2 3 2 2 3 2 2 2 2 3 ...
## $ LEFT_PALLIDUM_VOLUME : num 1516 1252 1427 1019 828 ...
## $ LEFT_PUTAMEN_SUVR : num 2 1 2 2 1 1 2 2 1 2 ...
## $ LEFT_PUTAMEN_VOLUME : num 4256 5294 5061 4643 5507 ...
## $ LEFT_THALAMUS_PROPER_SUVR : num 1 1 2 1 1 1 1 1 1 1 ...
## $ LEFT_THALAMUS_PROPER_VOLUME : num 6569 8386 7847 6493 6414 ...
## $ RIGHT_MIDDLEFR_SUVR : num 3 2 3 1 2 2 2 1 3 1 ...
## $ RIGHT_MIDDLEFR_VOLUME : num 21241 22253 16509 19637 19844 ...
## $ RIGHT_ORBITOFR_SUVR : num 3 2 2 2 3 2 2 2 2 2 ...
## $ RIGHT_ORBITOFR_VOLUME : num 10913 12948 11937 12336 13689 ...
## $ RIGHT_PARSFR_SUVR : num 2 2 2 2 2 2 2 1 1 2 ...
## $ RIGHT_PARSFR_VOLUME : num 9044 7451 9729 6696 9493 ...
## $ RIGHT_ACCUMBENS_AREA_SUVR : num 1 2 2 1 2 2 2 2 2 1 ...
## $ RIGHT_ACCUMBENS_AREA_VOLUME : num 499 368 564 539 547 251 596 630 299 577 ...
## $ RIGHT_AMYGDALA_SUVR : num 3 2 2 1 2 2 3 1 1 2 ...
## $ RIGHT_AMYGDALA_VOLUME : num 1609 1920 1471 1833 1766 ...
## $ RIGHT_CAUDATE_SUVR : num 2 1 2 2 1 2 2 2 2 1 ...
## $ RIGHT_CAUDATE_VOLUME : num 3431 2791 4132 4108 3909 ...
## $ RIGHT_HIPPOCAMPUS_SUVR : num 2 2 1 2 1 1 2 1 2 2 ...
## $ RIGHT_HIPPOCAMPUS_VOLUME : num 4735 2997 4092 3966 3441 ...
## $ RIGHT_PALLIDUM_SUVR : num 2 2 2 1 2 2 2 2 2 2 ...
## $ RIGHT_PALLIDUM_VOLUME : num 1310 1777 1514 1456 1131 ...
## $ RIGHT_PUTAMEN_SUVR : num 1 2 2 2 2 2 1 1 2 2 ...
## $ RIGHT_PUTAMEN_VOLUME : num 3964 4335 3813 4173 3828 ...
## $ RIGHT_THALAMUS_PROPER_SUVR : num 1 1 1 1 2 2 1 1 1 2 ...
## $ RIGHT_THALAMUS_PROPER_VOLUME : num 6070 5340 6230 6432 6233 ...
## $ CHOROID_SUVR : num 5 3 4 4 4 4 4 2 3 3 ...
## $ CHOROID_VOLUME : num 4079 4221 3265 4180 3362 ...
## $ CTX_LH_BANKSSTS_SUVR : num 2 1 3 3 2 2 2 2 3 1 ...
## $ CTX_LH_BANKSSTS_VOLUME : num 2148 1464 2267 2278 2458 ...
## $ CTX_LH_CAUDALANTERIORCINGULATE_SUVR : num 2 1 2 2 2 2 1 2 2 2 ...
## $ CTX_LH_CAUDALANTERIORCINGULATE_VOLUME : num 1007 1377 1697 1863 2056 ...
## $ CTX_LH_CUNEUS_SUVR : num 2 3 2 2 3 2 1 2 2 2 ...
## $ CTX_LH_CUNEUS_VOLUME : num 1852 3014 2724 3101 2450 ...
## $ CTX_LH_ENTORHINAL_SUVR : num 2 1 1 3 4 2 2 4 1 2 ...
## $ CTX_LH_ENTORHINAL_VOLUME : num 1600 1154 1668 976 1450 ...
## $ CTX_LH_FUSIFORM_SUVR : num 2 2 1 3 1 2 2 1 1 2 ...
## $ CTX_LH_FUSIFORM_VOLUME : num 7041 9366 9118 7329 7996 ...
## $ CTX_LH_INFERIORPARIETAL_SUVR : num 2 1 3 1 1 1 4 2 3 2 ...
## $ CTX_LH_INFERIORPARIETAL_VOLUME : num 10272 11016 8772 11600 14050 ...
## $ CTX_LH_INFERIORTEMPORAL_SUVR : num 1 1 1 2 2 4 2 2 2 2 ...
## $ CTX_LH_INFERIORTEMPORAL_VOLUME : num 9421 7822 14548 11770 11636 ...
## $ CTX_LH_INSULA_SUVR : num 2 2 1 2 1 2 2 1 1 2 ...
## $ CTX_LH_INSULA_VOLUME : num 6394 6402 6226 6749 5976 ...
## $ CTX_LH_ISTHMUSCINGULATE_SUVR : num 2 2 1 3 2 2 1 1 2 4 ...
## $ CTX_LH_ISTHMUSCINGULATE_VOLUME : num 1796 1437 1742 2513 3020 ...
## $ CTX_LH_LATERALOCCIPITAL_SUVR : num 3 2 2 3 1 1 2 3 1 3 ...
## $ CTX_LH_LATERALOCCIPITAL_VOLUME : num 9831 11003 9581 9683 10864 ...
## $ CTX_LH_LINGUAL_SUVR : num 2 1 2 1 2 2 1 2 2 1 ...
## $ CTX_LH_LINGUAL_VOLUME : num 7159 7026 6278 5887 6189 ...
## $ CTX_LH_MIDDLETEMPORAL_SUVR : num 3 3 2 2 3 2 4 3 1 1 ...
## $ CTX_LH_MIDDLETEMPORAL_VOLUME : num 7930 10601 10646 9957 8423 ...
## $ CTX_LH_PARACENTRAL_SUVR : num 2 2 2 2 2 2 2 2 2 2 ...
## $ CTX_LH_PARACENTRAL_VOLUME : num 3052 3226 3088 3529 3935 ...
## $ CTX_LH_PARAHIPPOCAMPAL_SUVR : num 2 3 2 1 2 2 1 3 2 1 ...
## $ CTX_LH_PARAHIPPOCAMPAL_VOLUME : num 2013 1810 1594 1850 1898 ...
## $ CTX_LH_PERICALCARINE_SUVR : num 2 2 1 2 2 2 1 2 2 2 ...
## $ CTX_LH_PERICALCARINE_VOLUME : num 1561 2159 2461 1494 2111 ...
## $ CTX_LH_POSTCENTRAL_SUVR : num 1 2 2 1 2 3 2 2 1 2 ...
## $ CTX_LH_POSTCENTRAL_VOLUME : num 7973 7213 7235 8763 10897 ...
## $ CTX_LH_POSTERIORCINGULATE_SUVR : num 2 2 1 1 2 1 2 2 2 2 ...
## $ CTX_LH_POSTERIORCINGULATE_VOLUME : num 2582 3673 3770 2343 2015 ...
## $ CTX_LH_PRECENTRAL_SUVR : num 2 1 1 2 2 2 2 2 1 1 ...
## $ CTX_LH_PRECENTRAL_VOLUME : num 11538 11307 12060 11164 11742 ...
## $ CTX_LH_PRECUNEUS_SUVR : num 3 3 2 4 2 2 3 2 -1 3 ...
## $ CTX_LH_PRECUNEUS_VOLUME : num 8157 7833 8414 9032 8882 ...
## $ CTX_LH_ROSTRALANTERIORCINGULATE_SUVR : num 2 2 2 1 1 2 2 1 1 2 ...
## $ CTX_LH_ROSTRALANTERIORCINGULATE_VOLUME: num 2448 2019 2531 1977 2126 ...
## $ CTX_LH_SUPERIORFRONTAL_SUVR : num 1 2 2 2 2 2 2 2 2 2 ...
## [list output truncated]
The SUVR value is normalized to the tau-PET uptake in the inferior cerebellum gray matter (highlighted in blue below), a commonly-used region for tau normalization given the lack of inferior cerebellar tau pathology in Alzheimer’s Disease.
aseg_3d %>%
unnest(ggseg_3d) %>%
ungroup() %>%
select(region) %>%
na.omit() %>%
mutate(val=ifelse(region %in% c("Right-Cerebellum-Cortex", "Left-Cerebellum-Cortex"), 1, 0)) %>%
ggseg3d(atlas=aseg_3d, label="region", text="val", colour="val", na.alpha=0.5,
palette=c("transparent", "deepskyblue3"), show.legend=F) %>%
add_glassbrain() %>%
pan_camera("left lateral") %>%
remove_axes()